// created by noellynch
// Apr 30, 2008

package com.sceneworker.util.xml;

/**
 * This class is a simple container for data related to the callback mechanism for tags. If the related tag in the hashtable of TagCallBackLoader
 * has been read then an object of the class name stored in TagCallbackStruct will be created. This object or data sink (as any proceeding data 
 * will be "sunk/added" into this newly created object) will only be relevant during the tag read. Once the end tag has been reached it will be disposed of and 
 * it is up to the data sink to safeguard it's future before it is ignored.
 * @author noellynch
 *
 */
public class TagCallbackStruct {

	private		String			mstr_className = "";
	private		TagCallback		mcl_currentCallbackSink;
	
	/**
	 * Provide the class name of the object that is to be created when the tag is read.
	 * @param str_className
	 */
	public
	TagCallbackStruct(String str_className)
	{
		mstr_className = str_className;
	}

	/**
	 * Returns the class name for the object.
	 * @return
	 */
	public String getClassName() {
		return mstr_className;
	}
	
	/**
	 * Returns the callback sink.
	 * @return
	 */
	public TagCallback getCurrentCallbackSink() {
		return mcl_currentCallbackSink;
	}

	/**
	 * Sets the callback sink.
	 * @param mcl_currentCallback
	 */
	public void setCurrentCallbackSink(TagCallback mcl_currentCallback) {
		this.mcl_currentCallbackSink = mcl_currentCallback;
	}
	
}
